/*
 * SettingsDialog.java
 *
 * Created on June 23, 2008, 10:42 AM
 */

package levelbuilder;

import java.awt.*;
import java.io.*;
import javax.swing.JFileChooser;
import java.awt.Graphics;
import java.util.Vector;
/**
 *
 * @author  ew562c
 */
public class SettingsDialog extends javax.swing.JDialog {
    
    JFileChooser fc;
    MediaTracker mediaTracker;
    Image wallImage;
    Image boneImage;
    Image homeImage;
    java.awt.Frame par;
    
    Vector<CollisionBox> boneCollisions;
    Vector<CollisionBox> wallCollisions;
    
    /** Creates new form SettingsDialog */
    public SettingsDialog(java.awt.Frame parent, String path, String wallImg, String homeImg, String boneImg, boolean modal) {
        super(parent, modal);
        boneCollisions = new Vector();
        wallCollisions = new Vector();
        this.par = parent;
        initComponents();
        fc = new JFileChooser(".");
        boneImageTxtField.setText(boneImg);
        wallImageTxtField.setText(wallImg);
        homeImageTxtField.setText(homeImg);
        imagePathTxtField.setText(path);
	mediaTracker = new MediaTracker(this);
        updateImages();
    }

    public void SetInitialValues(String path, String wallImg, String homeImg, String boneImg)
    {
        boneImageTxtField.setText(boneImg);
        wallImageTxtField.setText(wallImg);
        homeImageTxtField.setText(homeImg);
        imagePathTxtField.setText(path); 
        updateImages();
    }
    
    public void ClearBoneCollisions(){boneCollisions.clear();}
    public void AddBoneCollision(CollisionBox b)
    {
        boneCollisions.add(b);
    }
    public Vector GetBoneCollisions(){return boneCollisions;}
    
    public void ClearWallCollisions(){wallCollisions.clear();}
    public void AddWallCollision(CollisionBox b)
    {
        wallCollisions.add(b);
    }
    public Vector GetWallCollisions(){return wallCollisions;}
    
    public String GetBoneImage(){return boneImageTxtField.getText();}
    public String GetHomeImage(){return homeImageTxtField.getText();}
    public String GetWallImage(){return wallImageTxtField.getText();}
    public String GetPath(){return imagePathTxtField.getText();}
    
    public void SetBoneImage(String s){boneImageTxtField.setText(s);}
    public void SetHomeImage(String s){homeImageTxtField.setText(s);}
    public void SetWallImage(String s){wallImageTxtField.setText(s);}
    
    public void updateImages()
    {
        
		Toolkit toolkit = Toolkit.getDefaultToolkit();
                
                
                boneImage = toolkit.getImage(GetPath()+"/"+GetBoneImage());

		mediaTracker.addImage(boneImage, 0);
		try
		{
			mediaTracker.waitForID(0);
		}
		catch (InterruptedException ie)
		{
			System.err.println(ie);
			//System.exit(1);
		}
                wallImage = toolkit.getImage(GetPath()+"/"+GetWallImage());

		mediaTracker.addImage(wallImage, 0);
		try
		{
			mediaTracker.waitForID(0);
		}
		catch (InterruptedException ie)
		{
			System.err.println(ie);
			//System.exit(1);
		}
                
                homeImage = toolkit.getImage(GetPath()+"/"+GetHomeImage());

		mediaTracker.addImage(homeImage, 0);
		try
		{
			mediaTracker.waitForID(0);
		}
		catch (InterruptedException ie)
		{
			System.err.println(ie);
			//System.exit(1);
		}
        
    }
    
    public void paint(Graphics g)
    {
        super.paint(g);
        if(boneImage != null)
             this.bonePreviewPanel.getGraphics().drawImage(boneImage, 0, 0, bonePreviewPanel.getWidth(), bonePreviewPanel.getHeight(), Color.BLACK, null);
        if(wallImage != null)
             this.wallPreviewPanel.getGraphics().drawImage(wallImage, 0, 0, wallPreviewPanel.getWidth(), wallPreviewPanel.getHeight(), Color.BLACK, null);
        if(homeImage != null)
             this.homePreviewPanel.getGraphics().drawImage(homeImage, 0, 0, homePreviewPanel.getWidth(), homePreviewPanel.getHeight(), Color.BLACK, null);
    }
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jLabel1 = new javax.swing.JLabel();
        imagePathTxtField = new javax.swing.JTextField();
        browseButton = new javax.swing.JButton();
        jPanel4 = new javax.swing.JPanel();
        label1 = new java.awt.Label();
        jLabel2 = new javax.swing.JLabel();
        jLabel3 = new javax.swing.JLabel();
        homePreviewPanel = new javax.swing.JPanel();
        bonePreviewPanel = new javax.swing.JPanel();
        wallPreviewPanel = new javax.swing.JPanel();
        homeImageTxtField = new javax.swing.JTextField();
        wallImageTxtField = new javax.swing.JTextField();
        boneImageTxtField = new javax.swing.JTextField();
        homeBrowsButton = new javax.swing.JButton();
        wallBrowseButton = new javax.swing.JButton();
        boneBrowseButton = new javax.swing.JButton();
        changeBoneCollision = new javax.swing.JButton();
        changeWallCollision = new javax.swing.JButton();
        okButton = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);

        jLabel1.setFont(new java.awt.Font("Tahoma", 1, 12));
        jLabel1.setText("Image Base Path:");

        imagePathTxtField.setText("./operation/images");
        imagePathTxtField.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                imagePathTxtFieldActionPerformed(evt);
            }
        });
        imagePathTxtField.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyTyped(java.awt.event.KeyEvent evt) {
                imagePathTxtFieldKeyTyped(evt);
            }
        });

        browseButton.setText("...");
        browseButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                browseButtonActionPerformed(evt);
            }
        });

        jPanel4.setBorder(javax.swing.BorderFactory.createEtchedBorder());

        label1.setFont(new java.awt.Font("Dialog", 1, 12));
        label1.setText("Home Image:");

        jLabel2.setFont(new java.awt.Font("Tahoma", 1, 11));
        jLabel2.setText("Wall Image:");

        jLabel3.setFont(new java.awt.Font("Tahoma", 1, 11));
        jLabel3.setText("Bone Image:");

        homePreviewPanel.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));

        javax.swing.GroupLayout homePreviewPanelLayout = new javax.swing.GroupLayout(homePreviewPanel);
        homePreviewPanel.setLayout(homePreviewPanelLayout);
        homePreviewPanelLayout.setHorizontalGroup(
            homePreviewPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 61, Short.MAX_VALUE)
        );
        homePreviewPanelLayout.setVerticalGroup(
            homePreviewPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 62, Short.MAX_VALUE)
        );

        bonePreviewPanel.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));

        javax.swing.GroupLayout bonePreviewPanelLayout = new javax.swing.GroupLayout(bonePreviewPanel);
        bonePreviewPanel.setLayout(bonePreviewPanelLayout);
        bonePreviewPanelLayout.setHorizontalGroup(
            bonePreviewPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 61, Short.MAX_VALUE)
        );
        bonePreviewPanelLayout.setVerticalGroup(
            bonePreviewPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 57, Short.MAX_VALUE)
        );

        wallPreviewPanel.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));

        javax.swing.GroupLayout wallPreviewPanelLayout = new javax.swing.GroupLayout(wallPreviewPanel);
        wallPreviewPanel.setLayout(wallPreviewPanelLayout);
        wallPreviewPanelLayout.setHorizontalGroup(
            wallPreviewPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 61, Short.MAX_VALUE)
        );
        wallPreviewPanelLayout.setVerticalGroup(
            wallPreviewPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 58, Short.MAX_VALUE)
        );

        homeImageTxtField.setText("home.png");

        wallImageTxtField.setText("wall.png");

        boneImageTxtField.setText("bone.png");

        homeBrowsButton.setText("...");
        homeBrowsButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                homeBrowsButtonActionPerformed(evt);
            }
        });

        wallBrowseButton.setText("...");
        wallBrowseButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                wallBrowseButtonActionPerformed(evt);
            }
        });

        boneBrowseButton.setText("...");
        boneBrowseButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                boneBrowseButtonActionPerformed(evt);
            }
        });

        changeBoneCollision.setText("Set Collision");
        changeBoneCollision.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                changeBoneCollisionActionPerformed(evt);
            }
        });

        changeWallCollision.setText("Set Collision");
        changeWallCollision.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                changeWallCollisionActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);
        jPanel4.setLayout(jPanel4Layout);
        jPanel4Layout.setHorizontalGroup(
            jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel4Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(label1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel3)
                    .addComponent(jLabel2))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(jPanel4Layout.createSequentialGroup()
                        .addComponent(changeWallCollision)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 45, Short.MAX_VALUE)
                        .addComponent(wallBrowseButton, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(jPanel4Layout.createSequentialGroup()
                        .addComponent(changeBoneCollision)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 45, Short.MAX_VALUE)
                        .addComponent(boneBrowseButton, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(homeBrowsButton, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(boneImageTxtField, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 166, Short.MAX_VALUE)
                    .addComponent(homeImageTxtField, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 166, Short.MAX_VALUE)
                    .addComponent(wallImageTxtField, javax.swing.GroupLayout.DEFAULT_SIZE, 166, Short.MAX_VALUE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                    .addComponent(bonePreviewPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(wallPreviewPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(homePreviewPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addContainerGap())
        );
        jPanel4Layout.setVerticalGroup(
            jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel4Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(homePreviewPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGroup(jPanel4Layout.createSequentialGroup()
                        .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(label1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(homeImageTxtField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(homeBrowsButton)))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel4Layout.createSequentialGroup()
                        .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(wallImageTxtField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel2))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(wallBrowseButton)
                            .addComponent(changeWallCollision)))
                    .addComponent(wallPreviewPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel4Layout.createSequentialGroup()
                        .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jLabel3)
                            .addComponent(boneImageTxtField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(boneBrowseButton)
                            .addComponent(changeBoneCollision)))
                    .addComponent(bonePreviewPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(20, 20, 20))
        );

        okButton.setText("Ok");
        okButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                okButtonActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                        .addContainerGap()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(jPanel4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addGroup(layout.createSequentialGroup()
                                .addComponent(jLabel1)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(browseButton, javax.swing.GroupLayout.Alignment.TRAILING)
                                    .addComponent(imagePathTxtField, javax.swing.GroupLayout.DEFAULT_SIZE, 236, Short.MAX_VALUE)))))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(144, 144, 144)
                        .addComponent(okButton, javax.swing.GroupLayout.PREFERRED_SIZE, 66, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(imagePathTxtField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel1))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(browseButton, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(19, 19, 19)
                .addComponent(jPanel4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(okButton)
                .addContainerGap())
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void okButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_okButtonActionPerformed
// TODO add your handling code here:
        this.setVisible(false);
    }//GEN-LAST:event_okButtonActionPerformed

    private void boneBrowseButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_boneBrowseButtonActionPerformed
// TODO add your handling code here:
        fc.setFileSelectionMode(JFileChooser.FILES_ONLY);
        int returnVal = fc.showOpenDialog(this);
        if(returnVal == JFileChooser.APPROVE_OPTION) {
            File selFile = fc.getSelectedFile();
            
            boneImageTxtField.setText(selFile.getName());
        }
        updateImages();
    }//GEN-LAST:event_boneBrowseButtonActionPerformed

    private void wallBrowseButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_wallBrowseButtonActionPerformed
// TODO add your handling code here:
        fc.setFileSelectionMode(JFileChooser.FILES_ONLY);
        int returnVal = fc.showOpenDialog(this);
        if(returnVal == JFileChooser.APPROVE_OPTION) {
            File selFile = fc.getSelectedFile();
            
            wallImageTxtField.setText(selFile.getName());
        }
        updateImages();
    }//GEN-LAST:event_wallBrowseButtonActionPerformed

    private void homeBrowsButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_homeBrowsButtonActionPerformed
// TODO add your handling code here:
        fc.setFileSelectionMode(JFileChooser.FILES_ONLY);
        int returnVal = fc.showOpenDialog(this);
        if(returnVal == JFileChooser.APPROVE_OPTION) {
            File selFile = fc.getSelectedFile();
            
            homeImageTxtField.setText(selFile.getName());
        }
        updateImages();
    }//GEN-LAST:event_homeBrowsButtonActionPerformed

    private void browseButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_browseButtonActionPerformed
// TODO add your handling code here:
        fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
        int returnVal = fc.showOpenDialog(this);
        if(returnVal == JFileChooser.APPROVE_OPTION) {
            File selFile = fc.getSelectedFile();
            
            imagePathTxtField.setText(selFile.getAbsolutePath());
        }
        updateImages();
    }//GEN-LAST:event_browseButtonActionPerformed

    private void imagePathTxtFieldKeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_imagePathTxtFieldKeyTyped
// TODO add your handling code here:
        updateImages();
    }//GEN-LAST:event_imagePathTxtFieldKeyTyped

private void changeBoneCollisionActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_changeBoneCollisionActionPerformed
// TODO add your handling code here:
    CollisionEditorDialog ce = new CollisionEditorDialog(this.par, true, boneImage);
    ce.SetCollisions(boneCollisions);
    ce.setVisible(true);
    boneCollisions = ce.GetCollisions();
}//GEN-LAST:event_changeBoneCollisionActionPerformed

private void changeWallCollisionActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_changeWallCollisionActionPerformed
// TODO add your handling code here:
    CollisionEditorDialog ce = new CollisionEditorDialog(this.par, true, wallImage);
    ce.SetCollisions(wallCollisions);
    ce.setVisible(true);
    wallCollisions = ce.GetCollisions();
}//GEN-LAST:event_changeWallCollisionActionPerformed

private void imagePathTxtFieldActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_imagePathTxtFieldActionPerformed
// TODO add your handling code here:
}//GEN-LAST:event_imagePathTxtFieldActionPerformed
    
    
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton boneBrowseButton;
    private javax.swing.JTextField boneImageTxtField;
    private javax.swing.JPanel bonePreviewPanel;
    private javax.swing.JButton browseButton;
    private javax.swing.JButton changeBoneCollision;
    private javax.swing.JButton changeWallCollision;
    private javax.swing.JButton homeBrowsButton;
    private javax.swing.JTextField homeImageTxtField;
    private javax.swing.JPanel homePreviewPanel;
    private javax.swing.JTextField imagePathTxtField;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JPanel jPanel4;
    private java.awt.Label label1;
    private javax.swing.JButton okButton;
    private javax.swing.JButton wallBrowseButton;
    private javax.swing.JTextField wallImageTxtField;
    private javax.swing.JPanel wallPreviewPanel;
    // End of variables declaration//GEN-END:variables
    
}
